/**********************************************
*  Classes:   BillboardNode
*  Desc:      Defines a billboard node. Derives 
*			  from GeometryNode. Billboards always
*             face the camera.
*  Author:    Vaios Kalpias-Ilias (C) 2008-2009
***********************************************/

#ifndef BILLBOARDNODE_H
#define BILLBOARDNODE_H

#include "SmartPointer.h"
#include "GeometryNode.h"

class CdnRenderer;

class BillboardNode : public GeometryNode
{
public:
	
	BillboardNode();
	virtual ~BillboardNode();

	virtual const NodeType GetType() const
	{
		return NODE_BILLBOARD;
	}

	// Creates a quad
	bool CreateMesh(CdnRenderer* renderer);

protected:

	// pre update
	virtual void PreUpdate();
	// post update 
	virtual void PostUpdate();
};

SmartPointer(BillboardNode);

#endif